//package com.daxt.common.util;
//
//import com.google.common.collect.Maps;
//import org.apache.axiom.om.OMAbstractFactory;
//import org.apache.axiom.om.OMElement;
//import org.apache.axiom.om.OMFactory;
//import org.apache.axiom.om.OMNamespace;
//import org.apache.axiom.soap.SOAP11Constants;
//import org.apache.axis2.AxisFault;
//import org.apache.axis2.addressing.EndpointReference;
//import org.apache.axis2.client.Options;
//import org.apache.axis2.client.ServiceClient;
//import org.apache.axis2.rpc.client.RPCServiceClient;
//
//import javax.xml.namespace.QName;
//import java.util.Map;
//
//
//public class Axis2Utils {
//
//    public static String getRes(String xmlString, String callFunctionName){
//        try {
//            // 使用RPC方式调用WebService
//            RPCServiceClient client = new RPCServiceClient ();
//            Options options = client.getOptions();
//
//            // 指定调用WebService的URL
////            EndpointReference targetEPR = new EndpointReference("http://localhost:8080/services/Version?wsdl");
//            EndpointReference targetEPR = new EndpointReference("http://www.sxlq.com:4572/lq4a_queryuser");
////            EndpointReference targetEPR = new EndpointReference("http://www.sxlq.com:4572/lq4a_queryuser?wsdl");
////            EndpointReference targetEPR = new EndpointReference("http://61.183.147.194:7008/hbgk_webservice_4.3.31/services/IncaInsiderService?wsdl");
//            options.setTo(targetEPR);
//            //options.setAction("命名空间/WS 方法名");
////          options.setAction("http://webservice.inca.com/IncaInsiderService");
//
//            // 指定IncaInsiderService方法的参数值
//            Object[] parmas = new Object[] { xmlString};
//            // 指定IncaInsiderService方法返回值的数据类型的Class对象
//            Class<?>[] classes = new Class[] { String.class };
//
//            // 指定要调用的IncaInsiderService方法及WSDL文件的命名空间
//            // 在创建QName对象时，QName类的构造方法的第一个参数表示WSDL文件的命名空间名，也就是<wsdl:definitions>元素的targetNamespace属性值
//            // // 指定要调用的getWorld方法及WSDL文件的命名空间.....
//            QName opAddEntry = new QName("http://service.sx4a.dhcc.com/", callFunctionName);
//            // 调用IncaInsiderService方法并输出该方法的返回值
//            Object[] str = client.invokeBlocking(opAddEntry, parmas, classes);
//            return str[0].toString();
//        } catch (AxisFault e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
//
//    /**
//     * 返回xml数据
//     * @param map
//     */
//    public static String getXmlData(String bodyKey, Map<String, String> map) {
//        StringBuffer sb = new StringBuffer();
//        sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
//        sb.append("<"+bodyKey+">");
//        for(String key: map.keySet()) {
//            sb.append("<"+key+">" + map.get(key) + "</"+key+">");
//        }
//        sb.append("</"+bodyKey+">");
//
//        return sb.toString();
//    }
//
////    public static void main(String[] args) {
////        //xmlString的格式
////        Map<String, String> param = Maps.newHashMap();
////        param.put("uid", "all");//卡号
////        param.put("batch", "1");//姓名
////        param.put("number", "100");//性别（1：男，2：女）
////
//////
////        String xmlString = Axis2Utils.getXmlData("SelAllUserRequest", param);
////
////
////
////        try  {
////            // RPC方式调用
////            RPCServiceClient client =  new  RPCServiceClient();
////            Options options = client.getOptions(); // 注意：不是new Options()
////            // 要调用的webService的url
////            String serviceERP =  "http://www.sxlq.com:4572/lq4a_queryuser" ;// 地址栏内容去掉?wsdl
////            EndpointReference reference =  new  EndpointReference(serviceERP);
////            options.setTo(reference);
////            String targetNamespace =  "http://service.sx4a.dhcc.com/" ;// 绿线标注的内容
////            // 1.设置要调用的方法 即sayHello。如果服务端没有提供相应的方法，当然就会报错了
////            // 2.默认命名空间下没有package，即是http://ws.apache.org/axis2
////            // 3.如果有package，要调用方法所在的包名倒过来写即可
////            // 4.比如sayHello 所在包名是com.service 命名空间就是http://service.com
////            QName qname =  new  QName(targetNamespace,  "selAllUser" );
////
////            OMElement result = client.invokeBlocking(qname,
////                    new  Object[] {  xmlString  });
////            OMElement r = client.sendReceive(result);
//////            Object[] result = client.invokeBlocking(qname,
//////                    new  Object[] {  xmlString  },
//////                    new  Class[] { String. class  });
////            System.out.println(result);
////        }  catch  (AxisFault e) {
////            e.printStackTrace();
////        }
////
////    }
//    public static void main(String[] args) {
//        //xmlString的格式
//        Map<String, String> param = Maps.newHashMap();
//        param.put("uid", "all");//卡号
//        param.put("batch", "1");//姓名
//        param.put("number", "100");//性别（1：男，2：女）
//
////
//        String xmlString = Axis2Utils.getXmlData("SelAllUserRequest", param);
//
//
//
//        try  {
//
//            // RPC方式调用
//            RPCServiceClient client =  new  RPCServiceClient();
//            Options options = client.getOptions(); // 注意：不是new Options()
//            // 要调用的webService的url
//            String serviceERP =  "http://www.sxlq.com:4572/lq4a_queryuser" ;// 地址栏内容去掉?wsdl
//            EndpointReference reference =  new  EndpointReference(serviceERP);
//            options.setTo(reference);
//            String targetNamespace =  "http://service.sx4a.dhcc.com/" ;// 绿线标注的内容
//            // 1.设置要调用的方法 即sayHello。如果服务端没有提供相应的方法，当然就会报错了
//            // 2.默认命名空间下没有package，即是http://ws.apache.org/axis2
//            // 3.如果有package，要调用方法所在的包名倒过来写即可
//            // 4.比如sayHello 所在包名是com.service 命名空间就是http://service.com
//            QName qname =  new  QName(targetNamespace,  "selAllUser" );
//
//            OMElement result = client.invokeBlocking(qname,
//                    new  Object[] {  xmlString  });
//            OMElement r = client.sendReceive(result);
////            Object[] result = client.invokeBlocking(qname,
////                    new  Object[] {  xmlString  },
////                    new  Class[] { String. class  });
//            System.out.println(result);
//        }  catch  (AxisFault e) {
//            e.printStackTrace();
//        }
//
//    }
////    public static void main(String[] args) {
////        try {
////            String url =  "http://www.sxlq.com:4572/lq4a_queryuser" ;// 地址栏内容去掉?wsdl
////            ServiceClient client = new ServiceClient();
////            Options options = client.getOptions();
////            EndpointReference endpointReference = new EndpointReference(url);
////            options.setTo(endpointReference);
////            // 设置SOAPAction
////            options.setAction("http://webxml.com.cn/toTraditionalChinese");
////            // 设置soap版本
////            options.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
////            //options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
////
////            String param = "<SelAllUserRequest>\n" +
////                    "  <uid>all</uid>\n" +
////                    "  <batch>1</batch>\n" +
////                    "  <number>100</number>\n" +
////                    "</SelAllUserRequest>\n";
////
////            OMFactory factory = OMAbstractFactory.getOMFactory();
////            OMNamespace namespace = factory.createOMNamespace("http://service.sx4a.dhcc.com/", "");
////            OMElement method = factory.createOMElement("toTraditionalChinese", namespace);
////            OMElement value = factory.createOMElement("sText", namespace);
////            value.addChild(factory.createOMText(value, param));
////            method.addChild(value);
////            method.build();
////
////            OMElement result = client.sendReceive(method);
////            System.out.println(result);
////            System.out.println(result.getFirstElement().getText());
////        } catch (Exception e) {
////            e.printStackTrace();
////        }
////
////    }
//
//
//
//
//
//}
